package com.wjerp.tplus.server.domain.service;

import com.wjerp.tplus.server.common.exception.BusinessException;
import com.wjerp.tplus.server.common.model.CaptchaResponse;

/**
 * 验证码服务接口
 * @author lishuailei
 */
public interface CaptchaService {
    /**
     * 生成验证码
     * @return 验证码信息
     * @throws BusinessException
     */
    CaptchaResponse generate() throws BusinessException;

    /**
     * 校验验证码是否匹配
     * @param token token 信息
     * @param text 验证码
     * @return 匹配结果
     * @throws BusinessException
     */
    boolean matches(String token, String text) throws BusinessException;

    /**
     * 根据token获取验证码信息
     * @param token token 信息
     * @return 验证码信息
     */
    String getCaptchaText(String token);
}